Method and system for sponsored search results placement in a search results page

ABSTRACT

The present teaching relates to placing sponsored search results based on correlation of the sponsored search results. A search query is first received at a search engine from a user. One or more keywords are further extracted horn the search query. A plurality of sponsored search results related to the one or more keywords are received in response to the search query. The placement of the plurality of sponsored search results are further determined based on correlation of the plurality of sponsored search results, and a search results page containing the plurality of sponsored search results are presented to the user.

BACKGROUND

1. Technical Field

The present teaching relates to methods, systems, and programming forsearch results placement. In particular, the present teaching relates tomethods systems, and programming for sponsored search results placementin a search results page.

2. Discussion of Technical Background

Online search methodology provides users with search results that matchthe users' search interest. Current search technology can offer userswith suitable and personalized searching experience in addition to thecontent-based search results, a search results page may also include oneor more sponsored search results matching the users' search keywords.The availability of placing the sponsored search results in a searchresults page allows the advertisers to bid for placement in a paidlisting of search results on terms that are relevant to their business.The advertisers pay the amount of their bids only when a customer clickson their listing. Therefore, good placement of sponsored search resultshelps the advertisers to achieve their goals or maximize the success. Onthe other hand, publishers that offer spaces to place the sponsoredsearch results also benefits from improved user experience to achievemore revenue from advertising.

When a user inputs a search query on a search engine nested on apublisher web site, as bid auction on the sponsored search results spotstakes place when a search for one or more keywords occurs. All bids forthe one or more keywords that target the user's geographic location, theday and time of the search, etc. are then compared and a winner isdetermined in situations where there are multiple spots available on thesearch engine results page (SERP), there can be multiple winners whosepositions on the page are influenced by the amount each has bid.According to some search scheme, user behaviors are utilized to providepersonalized search results. When a user inputs a search query via apublisher's website, the search engine collects the profile informationassociated with the user, and obtains historical behaviors of the userfrom a database. The search engine further analyzes the user behaviorssuch as browsing history, purchasing history or ad related activitiesvia the publisher website, etc. to determine how likely the user clicksthe sponsored search results and/or make purchases through the landingpage links. Because various elements may affect the presentation of thesponsored search results as well as the user experience, the searchengine adopts prediction models to determine the rankings and placementof the sponsored search results. For example, the search engine mayconstruct a prediction model based on the bids and the user behaviors todetermine the rankings and placement of the sponsored search results.However, bids and user behaviors related prediction focuses on therelevance of the sponsored search results and the search keywords.Information associated with the sponsored search results themselves isneglected and thus, causing a bottle-neck in the performance of thesponsored search results.

Therefore, there is a need to provide an improved solution for placingthe sponsored search results to solve the above-mentioned problems.

SUMMARY

The present teaching relates to methods, systems, and programming orsearch results placement. In particular, the present teaching relates tomethods, systems, and programming for sponsored search results placementin a search results page.

According to an embodiments of the present teaching, a method,implemented on a computing device having at least one processor,storage, and a communication platform connected to a network for placingsponsored search results in a search results page includes receiving asearch query from a user; extracting one or more keywords from thesearch query; receiving a plurality of sponsored search results relatedto the one or more keywords; determining placement of the plurality ofsponsored search results based on correlations of the plurality ofsponsored search results; and presenting to the user, a search resultspage containing the plurality of sponsored search results.

In some embodiment, the method may further include obtaining profileinformation of the user; retrieving user behaviors from a database basedon the profile information; and determining the placement of theplurality of sponsored search results based on the user behaviors.

In some embodiment, the method may further include estimating a userlikelihood factor for each sponsored search result based on the userbehaviors; and determining the placement of the plurality of sponsoredsearch results based on the user likelihood factors, wherein the userlikelihood factor indicates a chance that the user clicks the sponsoredsearch result.

In some embodiment, the method may further include determining theplacement of the plurality of sponsored search results based onqualities of the plurality of sponsored search results, which includesobtaining a plurality of quality factors associated with each sponsoredsearch result; estimating a quality grade for each sponsored searchresult based on the plurality of quality factors; and determining theplacement of the plurality of sponsored search results based on thequality grades.

In some embodiment, the method may further include obtaining a creativeassociated with each sponsored search result; estimating a correlationfactor for each sponsored search result based on the creatives; anddetermining the placement of the plurality of sponsored search resultsbased on the correlation factors, wherein the correlation factorindicates an interaction level between a sponsored search result andother sponsored search results to be placed together on the searchresults page.

In some embodiment, the method may further include predicting a numberof clicks on each sponsored search result based on user behaviors,qualities of the plurality of sponsored search results, and thecorrelations of the plurality of sponsored search results using amachine learning model; and determining the placement of the pluralityof sponsored search results based an the predicted numbers of clicks.

According to another embodiment of the present teaching, a method,implemented on a computing device having at least one processor,storage, and a communication platform connected to a network for placingsponsored search results in a search results page includes receiving asearch query from a user; extracting one or more keywords from thesearch query; receiving a plurality of sponsored search results relatedto the one or more keywords; determining placement of the plurality ofsponsored search results based on behaviors associated with the user andqualities of the plurality of sponsored search results; and presentingto the user, a search results page containing the plurality of sponsoredsearch results.

In some embodiment, the method may further include predicting a numberof clicks on each sponsored search result based on the behaviorsassociated with the user and the qualities of the plurality of sponsoredsearch results using a machine learning model; and determining theplacement of the plurality of sponsored search results based on thepredicted numbers of clicks.

According to yet another embodiment of the present teaching, a systemhaving at least one processor, storage, and a communication platformconnected to a network for placing sponsored search results in a searchresults page includes a user interfacing module configured to receive asearch query from a user; a keywords extractor configured to extract oneor more keywords from the search query, a teething module configured toreceive a plurality of sponsored search results related to the one ormore keywords; a decision module configured to determine placement ofthe plurality of sponsored search results based on correlations of theplurality of sponsored search results; and a presenting moduleconfigured to present to the user, a search results page containing theplurality of sponsored search results.

In some embodiment, the system may further include a user profilecollector configured to obtain profile information of the user; and auser behavior analyzer configured to retrieve user behaviors from adatabase based on the profile information, wherein the decision moduleis further configured to determine the placement of the plurality ofsponsored search results based on the user behaviors.

In some embodiment, the user behavior analyzer may be further configuredto estimate a user likelihood factor for each sponsored search resultbased on the user behaviors, the user likelihood factor indicating achance that the user clicks the sponsored search result.

In some embodiment, the decision module may be further configured todetermine the placement of the plurality of sponsored search resultsbased on qualities of the plurality of sponsored search results, whichincludes obtaining a plurality of quality factors, associated with eachsponsored search result; estimating a quality grade for each sponsoredsearch result based on the plurality of quality factors; and determiningthe placement of the plurality of sponsored search results based on thequality grades.

In some embodiment, the system may farther include a creative extractorconfigured to obtain a creative associated with each sponsored searchresult; and a correlation analyzer configured to estimate a correlationfactor for each sponsored search result based on the motives, thecorrelation factor indicating an interaction level between a sponsoredsearch result and other sponsored search results to be placed togetheron the search results page, wherein the decision module is furtherconfigured to determine the placement of the plurality of sponsoredsearch results based on the correlation factors.

In some embodiment, the system may further include a clicks predictionmodule configured to predict a number of clicks on each sponsored searchresult based on user behaviors, qualities of the plurality of sponsoredsearch results, and the correlations of the plurality of sponsoredsearch results using a machine learning model, wherein the decisionmodule is further configured to determine the placement of the pluralityof sponsored search results based on the predicted numbers of clicks.

According to yet another embodiment of the present teaching, anon-transitory machine-readable medium having information recordedthereon for placing sponsored search results in a search results page,wherein the information, when read by the machine, causes the machine toperform receiving a search query from a user extracting one or morekeywords from the search query; receiving a plurality of sponsoredsearch results related to the one or more keywords; determiningplacement of the plurality of sponsored search results based oncorrelations of the plurality of sponsored search results; andpresenting to the user, a search results page containing the pluralityof sponsored search results.

BRIEF DESCRIPTION OF THE DRAWINGS

The methods, systems, and/or programming described herein are furtherdescribed in terms of exemplary embodiments. These exemplary embodimentsare described in detail with reference to the drawings. Theseembodiments are non-limiting exemplary embodiments, in which likereference numerals represent similar structures throughout the severalviews of the drawings, and wherein:

FIG. 1 illustrates an exemplary system diagram for placing sponsoredsearch results in a search result page, according to an embodiment ofthe present teaching;

FIG. 2 illustrates an exemplary system diagram for placing sponsoredsearch results in a search result page, according to another embodimentof the present teaching;

FIG. 3 illustrates an exemplary search results generation engine andplacement engine, according to an embodiment of the present teaching;

FIG. 4 illustrates an exemplary flowchart of the process for presentinga search result page including the sponsored search results, accordingto an embodiment of the present teaching;

FIG. 5 illustrates an exemplary diagram of a placement engine, accordingto an embodiment of the present teaching;

FIG. 6 illustrates an exemplary flowchart of the process for placing thesponsored search results, according to an embodiment of the presentteaching;

FIG. 7 illustrates an exemplary diagram of a placement engine, accordingto another embodiment of the present teaching;

FIG. 8 illustrates an exemplary flowchart of the process for placing thesponsored search results, according to another embodiment of the presentteaching;

FIG. 9 illustrates an exemplary placement of the sponsored searchresults, according to an embodiment of the present teaching;

FIG. 10 illustrates an exemplary diagram of a placement engine,according to yet another embodiment of the present teaching;

FIG. 11 illustrates an exemplary flowchart of the process for placingthe sponsored search results, according to yet another embodiment of thepresent teaching;

FIG. 12 illustrates an exemplary placement of the sponsored searchresults, according to another embodiment of the present teaching;

FIG. 13 depicts a general mobile device architecture on which thepresent teaching can be implemented; and

FIG. 14 depicts a general computer architecture on which the presentteaching can be implemented.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth by way of examples in order to provide a thorough understanding ofthe relevant teachings. However, it should be apparent to those skilledin the art that the present, teachings may be practiced without suchdetails. In other instances, well known methods, procedures, systems,components, and/or circuitry have been described at a relativelyhigh-level, without detail, in order to avoid unnecessarily obscuringaspects of the present teachings.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment/example” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment/example” as used herein does not necessarily refer to adifferent embodiment. It is intended, for example, that claimed subjectmatter include combinations of example embodiments in whole or in part.

In general, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beUsed to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

The present teaching incorporates user behaviors associated with theuser inputting a search query, quality factors of the sponsored searchresults related to the search query, and correlation factors of thesponsored search results to attain a novel and strengthened predictionmodel to predict numbers of clicks on the sponsored search results anddetermine the placement of the sponsored search results in a searchresults page. In particular by evaluating the correlation influence ofother sponsored search results to be placed together on the searchresults page, the present teaching offers the most appropriate placementof the sponsored search results as well as personalized search resultsthat better meet the user's interest. Meanwhile, it contributes toenhance user experience with the publisher website, which in turn, keepsloyalty of the users as well as more new users.

Additional novel features will be set forth in part in the descriptionwhich follows, and in part will become apparent to those skilled in theart upon examination of the following and the accompanying drawings ormay be learned by production or operation of the examples. The novelfeatures of the present teachings may be realized and attained bypractice or use of various aspects of the methodologies,instrumentalities and combinations set forth in the detailed examplesdiscussed below.

FIG. 1 illustrates an exemplary system diagram for placing sponsoredsearch results in a search result page, according to an embodiment ofthe present teaching. When a user 102 initiates a search on a searchengine nested on a publisher website, the publisher 104 releases a bidrequest to the advertisers 106 via a network 110. A bid process on theavailable ad spots in connection with one or more search keywordsautomatically occurs. An intermediate agency such as an ad exchangedetermines the winning bids in accordance with the number of availablead spots on the publisher website. Meanwhile, the search engine searchesfor content-based search results from a variety of content sources 112.A search results generation engine 114 then fetches the content-basedsearch results from the variety of content sources 112 and the sponsoredsearch results from a database 108 to be presented to the user inaccordance with the winning bids. The search results generation engine114 further communicates with a placement engine 116 to determine theplacement of the sponsored search results in accordance with theavailable ad spots on the publisher website.

The user 102 may connect to the network via various types of devices,for example, a desktop computer, a laptop computer, a mobile device, abuilt-in device in a motor vehicle, etc. The network 110 may be a singlenetwork or a combination of multiple networks. For example, the network110 may be a local area network (LAN), a wide area network (WAN), topublic network, a private network, a proprietary network, a PublicTelephone Switched Network (PSTN), the Internet, a wirelesscommunication network, a virtual network, or any combination thereof.The publisher 104 may be any entity that hosts one or more spots in itsproperties (e.g., web sites, applications, etc,) for presenting searchresults to the user 102. The publisher 104 may also be a search engine,a blogger, a television station, a newspaper issuer, a web page host, acontent portal, an online service provider, or a game server. Theadvertiser 106 may be any entity that provides inventory to be displayedon the publisher's webpage. The inventory may be electrical devices,fashion items, soft drinks, travel services, merchandize coupons etc. Inresponse to the search query inputted by the user 102, the advertisers106 present the inventory related to the search keywords. According tothe illustrated embodiment, the search results page generation engine114 and the placement engine 116 operates as independent serviceproviders and directly connect to network 110.

FIG. 2 illustrates an exemplary system diagram for placing sponsoredsearch results in a search result page, according to another embodimentof the present teaching. The system environment illustrated herewith issimilar to FIG. 1, except that the placement engine 116 operates as abackend system of the search results page generation engine 114 fordetermining the placement of sponsored search results in a searchresults page. In some embodiment, the placement engine 116 may beincorporated into the search results page generation engine 114 as oneentity.

FIG. 3 illustrates an exemplary search results generation engine andplacement engine, according to an embodiment of the present teaching. Auser 02 initiates a search query which is transmitted to a search queryprocessor 304. Upon receiving the search query, the search queryprocessor 304 forwards it to a web server 306, and meantime, stores thesearch query in a query log database 332. An ad space detector 308detects available ad spaces on the search results page to be produced inresponse to the search query, and forwards the number of the availablead spaces and one or more keywords related to the search query to a bidrequestor 310. A bid on the available ad spaces and related to thesearch keywords is generated at the bid requestor 319, and forwarded toadvertisers via an ad exchange 312. A bid receiver 314 receives all bidsupon the available ad spaces and the search keywords, and forwards thebids to a bid processor 316. The bid processor 316 ranks the receivedbids used on the amount that is bid, and forwards the bid rankings to abid selector 318. The bid selector 318 selects a number of high bids tobe placed on the available ad spaces on the search results page, andforwards the selected bids to an ad requestor 320. Upon receiving theselected bids, the ad requestor 320 sends a request to obtain ads to beplaced on the search results page corresponding to the selected bids viathe ad exchange 312. The ad exchange 312 further forwards the candidateads in response to the selected bids to the candidate ads receiver 322.

According to the present embodiment, a placement engine 116 receives thecandidate ads, i.e., the sponsored search results in response to thesearch query, and determines the arrangement of the sponsored searchresults on the search results page. Further, the search resultsgeneration engine 114 fetches the sponsored search results withdetermined arrangement from the placement engine 116 and content-basedsearch results from various content sources 112 via a search engine 328.The search results generation engine 114 incorporates the content-basedsearch results and the sponsored search results into a search resultspage 334 and presents the search results page 334 to the user 302.

FIG. 4 illustrates an exemplary flowchart of the process for presentinga search results page including the sponsored search results, accordingto an embodiment of the present teaching. According to the embodimentillustrated in FIG. 3, the process for presenting a search results pagemay include receiving a search query from a user 402; searchingcontent-based search results in response to the search query 404;providing the content-based search results to a search results.generation engine 406; retrieving one or more keywords from the searchquery 408; determining available ad spaces on the search results page tobe produced in response to the search query 410; sending to bid requestto a plurality of advertisers 412; selecting a plurality of sponsoredsearch results based on the received bids 414; determining placement ofthe sponsored search results 416; and presenting search results inresponse to the search query including the content-based search resultsand the sponsored search results with the determined placement 418.

FIG. 5 illustrates an exemplary diagram of a placement engine, accordingto an embodiment of the present teaching. The placement engine 116according to the illustrated embodiment includes a user interfacingmodule 502 configured to receive a search query from the user 102; akeyword extractor 504 configured to extract one or more keywords fromthe received search query; a receiving module 510 configured to receivea plurality of sponsored search results related to the extractedkeywords 508; a decision module 524 configured to determine placement ofthe plurality of sponsored search results based. on a variety offactors; and a presenting module 526 configured to present the searchresults page containing, the plurality of sponsored search results.

In some embodiment, the placement engine 116 may further include a userbehavior analyzing module 506 configured to retrieve behaviorinformation associated with the user from a database, analyze thebehavior information, and provide the behavior related factor forpredicting clicks on the sponsored search results.

In some embodiment, the placement engine 116 may further include aquality factors analyzing module 512 configured to obtain a plurality ofquality factors associated with each sponsored search result, analyzethe plurality of quality factors, and provide the quality relatedfactors for predicting clicks on the sponsored search results.

In some embodiment, the placement engine 116 may further include aclicks prediction module 518 configured to receive inputs from the userbehavior analyzing module 506 and the quality factor analyzing module512, and predict a number of clicks on each sponsored search result tobe placed on the search results page. The clicks prediction module 518may select one of the dicks prediction models 516 via a prediction modelselector 514. In some embodiment, the clicks prediction model is trainedto evaluate each sponsored search result using historical data relatedto the performance of the sponsored search results. According to thepresent embodiment, the clicks prediction module 518 selects a trainedmachine learning model for clicks prediction.

In some embodiment, the placement engine 116 may further includes aranking module 520 configured to rank the plurality of sponsored searchresults based on the results of the clicks prediction, and forward therankings to the decision module 524 to determine the placement. In someembodiment, the decision module 524 may refer to a space layout 522 todetermine the actual positions of the available ad spots on the searchresults page.

FIG. 6 illustrates an exemplary flowchart of the process for placing thesponsored search results, according to an embodiment of the presentteaching. According to the embodiment illustrated in FIG. 5, the processfor placing the sponsored search results may include receiving userbehavior analyzing results 602; receiving quality factors analyzingresults 604; predicting clicks for sponsored search results usingmachine learning model 606; ranking the sponsored search results basedon the clicks prediction 608; and assigning spaces to the sponsoredsearch results 610 based on the ranking.

FIG. 7 illustrates an exemplary diagram of a placement engine, accordingto another embodiment of the present teaching. According to theillustrated embodiment, the user behavior analyzing module 506 shown inFIG. 5 may further include a user profile collector 702 configured toobtain profile information of the user inputting the search query viathe user interfacing module 502; a user behavior classifier 706configured to classify the user behaviors into different categories; anda user behavior analyzer 708 configured to retrieve the user behaviorsfrom a database 704 based on the profile information, and estimate auser likelihood factor for each sponsored search result. In someembodiment, the user behavior database 704 may store the user behaviorsbeing observed on the publisher web site in the past time periods. Theuser behaviors may be allocated into different categories such asnavigation history 710, demographic information 712, ad relatedactivities 714, etc. The clicks prediction module 518 may applylong-term historical user behaviors and/or short-term historical userbehaviors to achieve more accurate prediction. The in some embodiment,the estimated likelihood factor indicates a chance that the user clicksthe sponsored search result based on the user behaviors in the past.

In some embodiment, the user behavior analyzing module 506 shown in FIG.5 may further include a quality factors extractor 720 configured toobtain a plurality of quality factors associated with each sponsoredsearch result; a quality factors categorizer 722 configured to classifythe ad quality indicators; and a quality factors analyzer 726 configuredto estimate a quality grade for each sponsored search result based onthe quality factors. In some embodiment, the quality factors of an ad,i.e., a sponsored search result may be defined in multiple categoriessuch as historical click through ratio (CTR) 724, landing page quality728, geographic performance 730, ad relevance 732, etc.

FIG. 8 illustrates an exemplary flowchart of the process for placing thesponsored search results, according to another embodiment of the presentteaching. According to the embodiment in FIG. 7, the process for placingthe sponsored search results may include receiving a search query from auser 802; collecting profile information associated with the user 804;retrieving historical user behavior information 806; extracting searchkeywords From the search query 810; receiving a plurality of sponsoredsearch results 812 based on the user behaviors and the quality factors;analyzing the user behaviors and estimating likelihoods of clicks on thesponsored search results based on the user behaviors 808.

In some embodiment, the process for placing the sponsored search resultsmay further include extracting quality factors from the sponsored searchresults 814; analyzing the quality factors and estimating qualityfactors for the sponsored search results 816; predicting the clicks onthe sponsored search results using a trained machine learning model 818;ranking the sponsored search results based on the predicted clicks 820;and assigning available ad spaces to the sponsored search results 822.

FIG. 9 illustrates an exemplary placement of the sponsored searchresults, according to an embodiment of the present teaching. Anexemplary search result page includes four ad spaces: space 902, space904, space 906, and space 908. Four ads (Ad #1, Ad #2, Ad #3, and Ad #4)are selected to be placed in spaces 902 908, respectively. An initialranking of the four ads based on the amount they bid shows that Ad #1ranks at a first place, Ad #2 ranks at a second place, Ad #3 tanks at athird place, and Ad #4 ranks at a fourth place. Further, quality factorsanalysis results show that Ad #1 has low quality, Ad #2 has highquality, Ad #3 has high quality, and Ad #4 has medium quality. Evenfurther, user behaviors analysis results show that Ad #1 receives touser likelihood to click, Ad #2 receives low user likelihood to click,Ad #3 receives high user likelihood to click, and Ad #4 receives mediumuser likelihood to click. Based or the quality factors analysis and theuser behaviors analysis, Ad #1 is predicted to have 5,000 clicks, Ad #2is predicted to have 15,000 clicks, Ad #3 is predicted to have 20,000clicks, and Ad #4 is predicted to have 8,000 clicks. Based on thepredicted clicks on the four ads, the final ranking differs from theinitial ranking in that Ad #3 ranks at the first place, Ad #4 ranks atthe third place, and Ad #1 ranks at the fourth place. Accordingly, Ad #3is placed in space 902, Ad #2 is placed in space 904, Ad #4 is placed inspace 906, and Ad #1 is placed in space 908.

According to the embodiments set forth above, predicting ad clicks inaccordance with the user behaviors and the ads quality factors not onlyprovides the user with suitable sponsored search results placement andpersonalized searching experience, but also increases the revenue of thepublisher web site by more accurate ad displaying.

FIG. 10 illustrates an exemplary diagram of a placement engine,according to yet another embodiment of the present teaching. Accordingto the illustrated embodiment, the placement engine 116 shown in FIG. 7may further include a creative extractor 1002 configured to obtain acreative associated with each sponsored search results; and acorrelation analyzer 1004 configured to estimate a correlation factorfor each sponsored search result based on the creativtes. Thecorrelation factor in the present embodiment indicates an interactionallevel between a sponsored search result and other sponsored searchresults to be placed together on the search results page. The estimatedcorrelation factors are further inputted into the clicks predictionmodule 518 to estimate the clicks on the sponsored search results.

In some embodiment, the ad creative includes all the information forvisually rendering the ad itself on a publisher web site such asdescriptions, format extensions (i.e., site links), layout, etc.

On the contrary to the embodiment shown in FIG., 7, which focuses onindividual sponsored search result itself, the present embodimentintroduces the correlation influence of other sponsored search resultsto be placed in the same page to provide more appropriate display. Forexample, if higher ranked ads have at least one “very good” ad, currentad is less likely to be clicked; or if all higher ranked ads are not“very good” current one is more likely to be clicked. Thus, utilizingthe correlation influence of other sponsored search results in additionto the user behaviors and the ad quality factors can produce moreaccurate prediction on the ad clicks, which leads to more appropriate adplacement.

FIG. 11 illustrates an exemplary flowchart of the process for placingthe sponsored search results, according to yet another embodiment of thepresent teaching. According to the embodiment illustrated in FIG. 10,the process fir placing the sponsored search results may includereceiving a search query from a user 1102; collecting profileinformation associated with the user 1104; retrieving historical userbehavior information 1106; extracting search keywords from the searchquery 1110; receiving a plurality of sponsored search results inresponse to the search query 1122; analyzing the user behaviors andestimating likelihoods of clicks on the sponsored search results 1108;extracting quality factors from the sponsored search results 1112;analyzing the quality factors and estimating the quality grades 1114;extracting creatives from the sponsored search results 1124; analyzingthe creatives and estimating correlation factors for the sponsoredsearch results 1126; predicting clicks using a machine learning modelbased on the user behaviors, quality factors, and correlation factors1116; ranking the sponsored search results based on the clicksprediction 1118; and assigning spaces to the sponsored search results1120.

FIG. 12 illustrates an exemplary placement of the sponsored searchresults, according to another embodiment of the present teaching. Theexemplary placement introduces an additional correlation factorestimation to predict the clicks on the sponsored search results. Theanalysis on the quality factors and the user behaviors shows the sameresults as in FIG. 9, in addition, the correlation factors analysisshows that Ad #1 receives low influence from other ads, Ad #2 receiveslow influence from other ads. Ad #3 receives high influence from otherads, and Ad #4 receives medium influence from other ads. The clicksprediction by incorporating the correlation factors analysis shows thatAd #1 is predicted to have 6,000 clicks, Ad #2 is predicted to have19,000 clicks. Ad #3 is predicted to have 18,000 clicks, and Ad #4 ispredicted to have 8,000 clicks. The final ranking by incorporating thecorrelation factors analysis Shows that Ad #2 exceeds Ad #3, and ranksat the first place. Consequently, Ad #2 replaces Ad #3 to be placed onthe best ad space 902.

The present embodiment combines the user behaviors, the sponsored searchresult internal features (i.e., the quality factors), and the sponsoredsearch result external features (i.e., the correlation factors) toattain a strengthened prediction model, in particular, by evaluating theimpact of other sponsored search results to be placed together on thesearch results page, the present teaching offers the most appropriateplacement of the sponsored search results, improves user experience, andattracts more new users.

FIG. 13 depicts a general mobile device architecture on which thepresent teaching can be implemented in this example, the user device isa mobile device 1300, including but is not limited to, a smart phone, atablet, a music player, a handled gaming console, a global positioningsystem (GPS) receiver, a smart-TV, wearable devices, etc. The mobiledevice 1300 in this example includes one or more central processingunits (CPUs) 1302, or more graphic processing units (GPUs) 1304, adisplay 1306, a memory 1308, a communication platform 1310, such as awireless communication module, storage 1312, and one or moreinput/output (I/O) devices 1314. Any other suitable component, such asbut not limited to a system bus or a controller (not shown), may also beincluded in the mobile device 1300. As shown in FIG. 13, a mobileoperating system 1316, e.g., iOS, Android, Windows Phone, etc., and oneor more applications 1318 may be loaded into the memory 1308 from thestorage 1312 in order to be executed by the CPU 1302. The applications1318 may include a browser or any other suitable mobile apps for sendinga search query and rendering the search results page including thesponsored search results page through the mobile device 1300. Executionof the applications 1318 may cause the mobile device 1300 to perform theprocessing as described above in the present teaching. For example,presentation of a search results page including sponsored search resultsmay be made by the GPU 1304 in conjunction with the display 1306. Arequest for loading a search results page in response to a search querymay be inputted by the user via the I/O devices 1314 and transmitted viathe communication platform 1310.

To implement the present teaching, computer hardware platforms may beused as the hardware platform(s) for one or more of the elementsdescribed herein. The hardware elements, operating systems, andprogramming languages of such computers are conventional in nature, andit is presumed that those skilled in the an are adequately familiartherewith to adapt those technologies to implement the processingessentially as described herein. A computer with user interface elementsmay be used to implement a personal computer (PC) or other type of workstation or terminal device, although a computer may also act as a serverif appropriately programmed, it is believed that those skilled in the anare familiar with the structure, programming, and general operation ofsuch computer equipment and as a result the drawings should beself-explanatory.

FIG. 14 depicts a general computer architecture on which the presentteaching can be implemented and has a functional block diagramillustration of a computer hardware platform that includes userinterface elements. The computer may be a general-purpose computer or aspecial purpose computer. This computer 1400 can be used to implementany components of the system for placing sponsored search results in asearch results page as described herein. Different components of thesystems disclosed in the present teaching can all be implemented on oneor more computers such as computer 1400, via its hardware, softwareprogram, firmware, or a combination thereof. Although only one suchcomputer is shown, for convenience, the computer functions relating toplacing the sponsored search results page may be implemented in adistributed fashion on a number of similar platforms, to distribute theprocessing load.

The computer 1400, for example, includes COM ports 1402 connected to andfrom a network connected thereto to facilitate data communications. Thecomputer 1400 also includes a CPU 1404, in the form of one or moreprocessors, for executing program instructions. The exemplary computerplatform includes an internal communication bus 1406, program storageand data storage of different forms, e.g., disk 1408, read only memory(ROM) 1410, or random access memory (RAM) 1412, for various data filesto be processed and/or communicated by the computer, as well as possiblyprogram instructions to be executed by the CPU 1404. The computer 1400also includes an I/O component 1414, supporting input/output flowsbetween the computer and other components therein such as user interfaceelements 1416. The computer 1400 may also receive programming and datavia network communications.

Hence, aspects of the methods of placing sponsored search results in asearch results page, as outlined above, may be embodied in programming.Program aspects of the technology may be thought of as “products” or“articles of manufacture” typically in the form of executable codeand/or associated. data that is carried on or embodied in a type ofmachine readable medium. Tangible non-transitory “storage” type mediainclude any or all of the memory or other storage for the computers,processors or the like, or associated modules thereof, such as varioussemiconductor memories, tape drives, disk drives and the like, which mayprovide storage at any time for the software programming.

All or portions of the software may at times be communicated through anetwork such as the Internet or various other telecommunicationnetworks. Such communications, for example, may enable loading of thesoftware from one computer or processor into another. Thus, another typeof media that may bear the software elements includes optical,electrical, and electromagnetic waves, such as used across physicalinterfaces between local devices, through wired and optical landlinenetworks and over various air-links, The physical elements that carrysuch waves, such as wired or wireless links, optical links or the like,also may be considered as media bearing the software. As used herein,unless restricted to tangible “storage” media, terms such as computer ormachine “readable mediums” refer to any medium that participates inproviding instructions to a processor for execution.

Hence, a machine readable medium may take many forms, including but notlimited to, a tangible storage medium, a carrier wave medium or physicaltransmission medium. Non-volatile storage media include, for example,optical or magnetic disks, such as any of the storage devices in anycomputer(s) or the like, which may be used to implement the system orany of its components as shown in the drawings. Volatile storage mediainclude dynamic memory, such as a main memory of such a computerplatform. Tangible transmission media include coaxial cables; copperwire and fiber optics, including the wires that form a bus within acomputer system. Carrier-wave transmission media can take the form ofelectric or electromagnetic signals, or acoustic or light waves such asthose generated during radio frequency (RF) and infrared (IR) datacommunications. Common forms of computer-readable media thereforeinclude for example at floppy disk, a flexible disk, hard disk, magnetictape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any otheroptical medium, punch cards paper tape, any other physical storagemedium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave transporting data orinstructions, cables or links transporting such a carrier wave, or anyother medium from which a computer can read programming code and/ordata. Many of these forms of computer readable media may be involved incarrying one or more sequences of one or more instructions to aprocessor for execution.

Those skilled in the art will recognize that the present teachings areamenable to a variety of modifications and/or enhancements. For example,although the implementation of various components described above may beembodied in a hardware device, it can also be implemented as a softwareonly solution—e.g., an installation on an existing server. In addition,the units of the host and the client nodes as disclosed herein can beimplemented as a firmware, firmware/software combination,firmware/hardware combination, or a hardware/firmware/softwarecombination.

While the foregoing has described what are considered to be the bestmode and/or other examples, it is understood that various modificationsmay be made therein and that the subject matter disclosed herein may beimplemented in various forms and examples, and that the teachings may beapplied in numerous applications, only some of which have been describedherein. It is intended by the following claims to claim any and allapplications, modifications and variations that fall within the truescope of the present teachings.

We claim:
 1. A method, implemented on at least one computing device eachof which has at least one processor, storage, and a communicationplatform connected to a network for placing sponsored search results ina search results page, the method comprising: receiving a search queryfrom a user; extracting one or more keywords from the search query,receiving a plurality of sponsored search results related to the one ormore keywords; determining placement of the plurality of sponsoredsearch results based on correlations of the plurality of sponsoredsearch results; and presenting to the user, a search results pagecontaining the plurality of sponsored search results.
 2. The method ofclaim 1, further comprising: obtaining profile information of the user;retrieving user behaviors from a database based on the profileinformation; and determining the placement of the plurality of sponsoredsearch results based on the user behaviors.
 3. The method of claim 2,further comprising: estimating a user likelihood factor for eachsponsored search result based on the user behaviors; and determining theplacement of the plurality of sponsored search results based on the userlikelihood factors, wherein the user likelihood factor indicates achance that the user clicks the sponsored search result.
 4. The methodof claim 1, further comprising: determining the placement of theplurality of sponsored search results based on qualities of theplurality of sponsored search results, which includes: obtaining aplurality of quality factors associated with each sponsored searchresult; estimating a quality grade for each sponsored search resultbased on the plurality of quality factors; and determining the placementof the plurality of sponsored search results based on the qualitygrades.
 5. The method of claim 1, further comprising: obtaining acreative associated with each sponsored search result; estimating acorrelation factor for each sponsored search result based on thecreatives; and determining the placement of the plurality of sponsoredsearch results based on the correlation factors, wherein the correlationfactor indicates an interaction level between a sponsored search resultand other sponsored search results to be placed together on the searchresults page.
 6. The method of claim 1, further comprising: predicting anumber of clicks on each sponsored search result based on userbehaviors, qualities of the plurality of sponsored search results, andthe correlations of the plurality of sponsored search results using amachine learning model; and determining the placement of the pluralityof sponsored search results based on the predicted numbers of clicks. 7.A method, implemented on at least one computing device each of which hasat least one processor, storage, and a communication platform connectedto a network for placing sponsored search results in a search resultspage, the method comprising: receiving a search query from a user;extracting one or more keywords from the search query; receiving aplurality of sponsored search results related to the one or morekeywords; determining placement of the plurality of sponsored searchresults based on user behaviors and qualities of the plurality ofsponsored search results; and presenting to the user, a search resultspage containing the plurality of sponsored search results.
 8. The methodof claim 7, further comprising: predicting a number of clicks on eachsponsored search result based on user behaviors and qualities of theplurality of sponsored search results using a machine learning model;and determining the placement of the plurality of sponsored searchresults based on the predicted numbers of clicks.
 9. A system having atleast one processor, storage, and a communication platform connected toa network for placing sponsored search results in a search results page,the system comprising: a user interfacing module configured to receive asearch query from a user; a keywords extractor configured to extract oneor more keywords from the search query; a receiving module configured toreceive a plurality of sponsored search results related to the one ormore keywords; a decision module configured to determine placement ofthe plurality of sponsored search results based on correlations of theplurality of sponsored search results; and a presenting moduleconfigured to present to the user, a search results page containing theplurality of sponsored search results.
 10. The system of claim 8,further comprising: a user profile collector configured to obtainprofile information of the user; and a user behavior analyzer configuredto retrieve user behaviors from a database based on the profileinformation, wherein the decision module is further configured todetermine the placement of the plurality of sponsored search resultsbased on the user behaviors.
 11. The system of claim 10, wherein theuser behavior analyzer is further configured to estimate a userlikelihood factor for each sponsored search result based on the userbehaviors, the user likelihood factor indicating a chance that the userclicks the sponsored search result.
 12. The system of claim 8, whereinthe decision module is further configured to determine the placement ofthe plurality of sponsored search results based on qualities of theplurality of sponsored search results, which includes: obtaining aplurality of quality factors associated with each sponsored searchresult; estimating a quality grade for each sponsored search resultbased on the plurality of quality factors; and determining the placementof the plurality of sponsored search results based on the qualitygrades.
 13. The system of claim 8, further comprising a creativeextractor configured to obtain a creative associated with each sponsoredsearch result; and a correlation analyzer configured to estimate acorrelation factor for each sponsored search result based on thecreatives, the correlation factor indicating an interaction levelbetween a sponsored search result and other sponsored search results tobe placed together on the search results page, wherein the decisionmodule is further configured to determine the placement of the pluralityof sponsored search results based on the correlation factors.
 14. Thesystem of claim 8, further comprising; a clicks prediction moduleconfigured to predict a number of clicks on each sponsored search resultbased on user behaviors, qualities of the plurality of sponsored searchresults, and the correlations of the plurality of sponsored searchresults using a machine learning model, wherein the decision module isfurther configured to determine the placement of the plurality ofsponsored search results based on the predicted numbers of clicks.
 15. Anon-transitory machine-readable medium having information recordedthereon for placing sponsored search results in a search results page,wherein the information, when read by the machine, causes the machine toperform the following; receiving a search query from a user; extractingone or more keywords from the search query; receiving a plurality ofsponsored search results related to the one or more keywords;determining placement of the plurality of sponsored search results basedon correlations of the plurality of sponsored search results; andpresenting to the user, a search results page containing the pluralityof sponsored search results.
 16. The non-transitory machine-readablemedium of claim 15, wherein the information, when read by the machine,causes the machine to further perform the following: obtaining profileinformation of the user; retrieving user behaviors from a database basedon the profile information; and determining the placement of theplurality of sponsored search results based on the user behaviors. 17.The non transitory machine-readable medium of claim 16, wherein theinformation, when read by the machine, causes the machine to furtherperform the following: estimating a user likelihood factor for eachsponsored search result based on the user behaviors; determining theplacement of the plurality of sponsored search results, based on theuser likelihood factors, wherein the user likelihood factor indicates achance that the user clicks the sponsored search result.
 18. Thenon-transitory machine-readable medium of claim 15, wherein theinformation, when read by the machine, causes the machine to furtherperform the following: determining the placement of the plurality ofsponsored search results based on qualities of the plurality ofsponsored search results, which includes obtaining a plurality ofquality factors associated with each sponsored search result; estimatinga quality uncle for each sponsored search result based on the pluralityof quality factors; and determining the placement of the plurality ofsponsored search results based on the quality grades.
 19. Thenon-transitory machine-readable medium of claim 15, wherein theinformation, when read by the machine, causes the machine to furtherperform the following: obtaining a creative associated with eachsponsored search result; estimating a correlation factor for eachsponsored search result based on the creatives; and determining theplacement of the plurality of sponsored search results based on thecorrelation factors, wherein the correlation factor indicates aninteraction level between a sponsored search result and other sponsoredsearch results to be placed together on the search results page.
 20. Thenon-transitory machine-readable medium of claim 15, wherein theinformation, when read by the machine, causes the machine to furtherperform the following: predicting a number of clicks on each sponsoredsearch result based on user behaviors, qualities of the plurality ofsponsored search results, and the correlations of the plurality ofsponsored search results using a machine learning model; and determiningthe placement of the plurality of sponsored search results based on thepredicted number of clicks.